﻿using System.Collections.Generic; // 用于 List<>
using Newtonsoft.Json; // 如果需要 JsonProperty 等特性

namespace RevitProject.SpaceManager.Configuration // 定义配置相关的命名空间
{
    /// <summary>
    /// 代表分类树配置中的一个节点。
    /// 用于 JSON 序列化和反序列化。
    /// </summary>
    public class CategoryNodeConfig
    {
        /// <summary>
        /// 分类节点的显示名称。
        /// </summary>
        [JsonProperty("Name")] // 定义 JSON 中的属性名 (可选, 但保持一致性)
        public string Name { get; set; }

        /// <summary>
        /// 子分类节点列表。
        /// </summary>
        [JsonProperty("Children")] // 定义 JSON 中的属性名
        public List<CategoryNodeConfig> Children { get; set; } = new List<CategoryNodeConfig>(); // 初始化为空列表，防止 null

        // 未来可以添加其他配置属性，例如:
        // public string IconKey { get; set; } // 用于显示特定图标的键
        // public int SortOrder { get; set; } // 用于控制同级节点排序
    }
}